<?php
  /*
    PHP中的变量作用域的概念和JS中的作用域的概念是不用的
  */ 

  $name = 'Jimmy';
  show();  # php 也有函数预解析的概念 即使我们先试用函数 后定义也是不会报错的
  function show(){
    echo 123;
  };

  /*show2();
  function show2(){
    echo $name;  // 会报错 因为在这个方法的作用域中并没有定义$name  所以会直接报错
  }*/


  # 可以使用函数的作用于传参的形式  使得其他的局部作用域中可以访问到其他作用域中的值
  show3($name);
  function show3($val){
    echo $val;
  }

  show4();
  function show4(){
    global $name;  #  可以使用global 关键字  将变量引到其他的作用域中  这个在开发中不推荐使用
    echo $name;
  }

  show5();
  function show5(){
    echo $GLOBALS['name'];  # 也可以使用 $GLOBALS 这个存放参数的数组中获取
  }
  